﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;

namespace Gao.Poker.Domain
{
    /// <summary>
    /// 比赛实体
    /// </summary>
    public class Competition
    {
        public Competition()
        {
            Date = DateTime.Now;
            CreateDt = DateTime.Now;
            MaxMember = 10;
            CompetitionLevels = new ObservableCollection<CompetitionLevel>();
            Bounses = new ObservableCollection<Bouns>();
        }

        [Key]
        public int ID { get; set; }
        /// <summary>
        /// 比赛名称
        /// </summary>
        public String Name { get; set; }
        /// <summary>
        /// 比赛时间
        /// </summary>
        public DateTime Date { get; set; }
        /// <summary>
        /// 桌号
        /// </summary>
        public String TablesNum { get; set; }
        /// <summary>
        /// 当前总码数
        /// </summary>
        public int TotalBet { get; set; }
        /// <summary>
        /// 买入人数
        /// </summary>
        public int BuyNumber { get; set; }
        /// <summary>
        /// 重新买入人数
        /// </summary>
        public int BuyAgainNumber { get; set; }
        /// <summary>
        /// 最后买入人数
        /// </summary>
        public int BuyLastNumber { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateDt { get; set; }
        /// <summary>
        /// 保底奖金
        /// </summary>
        public int DownsideBonus { get; set; }
        /// <summary>
        /// 买入积分
        /// </summary>
        public int SinglePoints { get; set; }
        /// <summary>
        /// 对应筹码
        /// </summary>
        public int Chips { get; set; }
        /// <summary>
        /// 比赛总积分
        /// </summary>
        public int TotalPoints { get; set; }
        /// <summary>
        /// 积分底数
        /// </summary>
        public int DownsidePoints { get; set; }
        /// <summary>
        /// 管理费用比例
        /// </summary>
        public int ManCastRatio { get; set; }
        /// <summary>
        /// 比赛上限人数
        /// </summary>
        public int MaxMember { get; set; }
        /// <summary>
        /// 比赛状态 1结束
        /// </summary>
        public int State { get; set; }

        /// <summary>
        /// 比赛的级别
        /// </summary>
        public virtual ObservableCollection<CompetitionLevel> CompetitionLevels { get; set; }
        /// <summary>
        /// 奖金比例
        /// </summary>
        public virtual ObservableCollection<Bouns> Bounses { get; set; }
    }
}
